Vast amounts of data are communicated over networks at any one time. For example, billions of web pages are communicated over the Internet in a given day, television programs are communicated to millions of users over the air, via cable and satellite connections, and so on. Because of the vast amounts of data that may be involved, traditional techniques which are employed to process this data may be insufficient.
For example, traditional techniques used to analyze a traditional amount of data may be insufficient when confronted with a vast amount of data. A service, for instance, may be provided which analyzes data that describes consumption by users of different content over the Internet. Because even a single user may navigate to hundreds of web pages and so on during a single browsing session, for example, a vast amount of data may be obtained when collected from a plurality of users. Traditional techniques that were used to analyze this data, however, may be hardware and software intensive such that these traditional techniques are not able to “keep up” with the pace that the data may be obtained.
In another example, communication of data over a network may be limited to a particular amount of bandwidth. This bandwidth, however, may not be sufficient to provide for the ever increasing amounts of data that are desired by users, which may lead to a reduction in functionality availability to users of the network and consequently user frustration.